<template>
    <div>
        <template v-for="(item, index) in options">
            <template v-if="values.includes(item.value)">
                <span v-if="item.raw.listClass == 'default' || item.raw.listClass == ''" :key="item.value" :index="index" :class="item.raw.cssClass">{{ item.label }}</span>
                <el-tag v-else :disable-transitions="true" :key="item.value" :index="index" :type="item.raw.listClass == 'primary' ? '' : item.raw.listClass" :class="item.raw.cssClass">
                    {{ item.label }}
                </el-tag>
            </template>
        </template>
    </div>
</template>

<script>
export default {
    name: 'DictTag',
    props: {
        options: {
            type: Array,
            default: null,
        },
        value: [Number, String, Array],
    },
    computed: {
        values() {
            if (this.value !== null && typeof this.value !== 'undefined') {
                return Array.isArray(this.value) ? this.value : [String(this.value)];
            } else {
                return [];
            }
        },
    },
};
</script>
<style scoped>
.el-tag + .el-tag {
    margin-left: 10px;
}
.primary {
    color: #1890ff;
}
.warning {
    color: #e6a23c;
}
</style>
